#ifndef _TD_STANDARDANIMATIONSET_H_
#define _TD_STANDARDANIMATIONSET_H_


/************************************************************************/
/* Game                                                                 */
/************************************************************************/
#include "Game/Animations/Animation.h"
#include "Game/Animations/AnimationSet.h"

/************************************************************************/
/* Resources                                                            */
/************************************************************************/
#include "Resources/ResourceManager.h"


using namespace TD_Core;
using namespace TD_Resources;

namespace TD_Game {

   class StandardAnimationSet : public AnimationSet {


   protected:

      const char* getAnimation(TiXmlElement *animElement, const char *name, bool *loop=NULL, int* interval=NULL);
      /************************************************************************/
      /* Animation set initialization                                         */
      /************************************************************************/
      bool initAnimations(unsigned int g_selector);
      shared_ptr<XMLDoc> m_pXMLDoc;

   public:
      /************************************************************************/
      /* ctors and dtors					                                    */
      /************************************************************************/
      //Default constructor
      //explicit StandardAnimationSet();
      explicit StandardAnimationSet(const string &startingAnimation,std::string the_xml,std::string the_png,unsigned int the_line);

      //Copy constructor
      explicit StandardAnimationSet(const StandardAnimationSet &rhs);

      //Assignment constructor
      StandardAnimationSet& operator=(const StandardAnimationSet &rhs);

      //Initialization constructor
      StandardAnimationSet(const string &startingAnimation, unsigned int selector);

      //Destructor
      ~StandardAnimationSet();
   };
}

#endif
